Calculating Velocity of an Autonomous Vehicle Using Radar Technology

ABSTRACT

Examples relating to vehicle velocity calculation using radar technology are described. An example method performed by a computing system may involve, while a vehicle is moving on a road, receiving, from two or more radar sensors mounted at different locations on the vehicle, radar data representative of an environment of the vehicle. The method may involve, based on the data, detecting at least one scatterer in the environment. The method may involve making a determination of a likelihood that the at least one scatterer is stationary with respect to the vehicle. The method may involve, based on the determination being that the likelihood is at least equal to a predefined confidence threshold, calculating a velocity of the vehicle based on the data from the sensors. The calculated velocity may include an angular and linear velocity. Further, the method may involve controlling the vehicle based on the calculated velocity.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present disclosure is a continuation of U.S. application Ser. No.15/713,499, filed on Sep. 22, 2017, the entire contents of which areherein incorporated by reference.

BACKGROUND

Vehicles are often used for various tasks, such as for thetransportation of people and goods throughout an environment. Withadvances in technology, some vehicles are configured with systems thatenable the vehicles to operate in a partial or fully autonomous mode.When operating in a partial or fully autonomous mode, some or all of thenavigation aspects of vehicle operation are controlled by a vehiclecontrol system rather than a traditional human driver. Autonomousoperation of a vehicle can involve systems sensing the vehicle'ssurrounding environment to enable a computing system to plan and safelyexecute navigating routes to reach desired destinations.

SUMMARY

In one aspect, the present application describes a method performed by acomputing system configured to control an autonomous vehicle. The methodmay involve while the autonomous vehicle is moving on a road, receiving,by the computing system, from two or more radar sensors mounted atdifferent locations on the autonomous vehicle, radar data representativeof a physical environment of the autonomous vehicle. The method may alsoinvolve based on the radar data, detecting, by the computing system, atleast one scatterer present in the environment. The method may alsoinvolve making, by the computing system, a determination of a likelihoodthat the at least one scatterer is stationary with respect to theautonomous vehicle. The method may further involve in response to thelikelihood being at least equal to a predefined confidence threshold,calculating, by the computing system, a velocity of the autonomousvehicle based on the radar data from the two or more radar sensors,where the calculated velocity comprises an angular velocity and a linearvelocity. And the method may further involve controlling, by thecomputing system, the autonomous vehicle based on the calculatedvelocity.

In another aspect, the present application describes an article ofmanufacture including a non-transitory computer-readable medium havingstored thereon instructions that, when executed by a processor in acomputing system, causes the computing system to perform operations. Theoperations may comprise while an autonomous vehicle is moving on a road,receiving, from two or more radar sensors mounted at different locationson the autonomous vehicle, radar data representative of a physicalenvironment of the autonomous vehicle. The operations may also comprisebased on the radar data, detecting at least one scatterer present in theenvironment. The operations may also comprise making a determination ofa likelihood that the at least one scatterer is stationary with respectto the autonomous vehicle. The operations may further comprise inresponse to the likelihood being at least equal to a predefinedconfidence threshold, calculating a velocity of the autonomous vehiclebased on the radar data from the two or more radar sensors, where thecalculated velocity comprises an angular velocity and a linear velocity.And the operations may further comprise controlling the autonomousvehicle based on the calculated velocity.

In another aspect, the present application describes a computing systemconfigured to control an autonomous vehicle. The computing system maycomprise two or more radar sensors mounted at different locations on theautonomous vehicle, and a processor configured to perform operations.The operations may comprise while an autonomous vehicle is moving on aroad, receiving, from two or more radar sensors mounted at differentlocations on the autonomous vehicle, radar data representative of aphysical environment of the autonomous vehicle. The operations may alsocomprise based on the radar data, detecting at least one scattererpresent in the environment. The operations may also comprise making adetermination of a likelihood that the at least one scatterer isstationary with respect to the autonomous vehicle. The operations mayfurther comprise in response to the likelihood being at least equal to apredefined confidence threshold, calculating a velocity of theautonomous vehicle based on the radar data from the two or more radarsensors, where the calculated velocity comprises an angular velocity anda linear velocity. And the operations may further comprise controllingthe autonomous vehicle based on the calculated velocity.

In yet another aspect, a system is provided that includes a means for,while an autonomous vehicle is moving on a road, receiving, from two ormore radar sensors mounted at different locations on the autonomousvehicle, radar data representative of a physical environment of theautonomous vehicle. The system may also include a means for, based onthe radar data, detecting at least one scatterer present in theenvironment. The system may also include a means for making adetermination of a likelihood that the at least one scatterer isstationary with respect to the autonomous vehicle. The system mayfurther include a means for, in response to the likelihood being atleast equal to a predefined confidence threshold, calculating a velocityof the autonomous vehicle based on the radar data from the two or moreradar sensors, where the calculated velocity comprises an angularvelocity and a linear velocity. And the system may further include ameans for controlling the autonomous vehicle based on the calculatedvelocity.

The foregoing summary is illustrative only and is not intended to be inany way limiting. In addition to the illustrative aspects, embodiments,and features described above, further aspects, embodiments, and featureswill become apparent by reference to the figures and the followingdetailed description.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a functional block diagram illustrating an example vehicle.

FIG. 2 depicts an example physical configuration of a vehicle.

FIG. 3A illustrates a block diagram of a sensing system including acoupler.

FIG. 3B illustrates a block diagram of another sensing system includinga coupler.

FIG. 4A depicts a physical configuration of a vehicle.

FIG. 4B depicts a physical configuration of a vehicle.

FIG. 5 illustrates an example scenario of a vehicle using a radarsystem.

FIG. 6 illustrates an example scenario of a vehicle using a radarsystem.

FIG. 7 is a flow chart of a method, according to an exampleimplementation.

FIG. 8 is a flow chart of a method, according to an exampleimplementation.

FIG. 9 depicts a schematic diagram of an example computer program.

DETAILED DESCRIPTION

Example methods and systems are described herein. It should beunderstood that the words “example,” “exemplary,” and “illustrative” areused herein to mean “serving as an example, instance, or illustration.”Any implementation or feature described herein as being an “example,”being “exemplary,” or being “illustrative” is not necessarily to beconstrued as preferred or advantageous over other implementations orfeatures. The example implementations described herein are not meant tobe limiting. It will be readily understood that the aspects of thepresent disclosure, as generally described herein, and illustrated inthe figures, can be arranged, substituted, combined, separated, anddesigned in a wide variety of different configurations, all of which areexplicitly contemplated herein. Additionally, in this disclosure, unlessotherwise specified and/or unless the particular context clearlydictates otherwise, the terms “a” or “an” means at least one, and theterm “the” means the at least one.

Furthermore, the particular arrangements shown in the Figures should notbe viewed as limiting. It should be understood that otherimplementations might include more or less of each element shown in agiven Figure. Further, some of the illustrated elements may be combinedor omitted. Yet further, an example implementation may include elementsthat are not illustrated in the Figures.

Moreover, the term “velocity,” as used herein, may refer to a linearvelocity and/or an angular velocity. Further, “velocity” may be a scalarquantity such as speed or a vector quantity, such as speed and angle.

A radar system for a vehicle may be configured to sense an environmentof the vehicle and capture measurements of the vehicle's surroundings.For example, the radar system may measure the distance between thevehicle and another vehicle navigating in front of the vehicle. In someinstances, a computing system of a vehicle or a remote system may usethe radar data to determine control operations, such as routenavigation, speed control, and obstacle avoidance. As a result, theradar system may enable a vehicle to operate in a partial or fullyautonomous mode. For instance, an example radar system may also beconfigured to supplement other sensor systems of a vehicle within someimplementations. In some implementations, the radar system may provideradar data to an interface that a driver may use to assist withnavigating the vehicle.

In practice, many vehicle systems may implement Global PositioningSystem (GPS), inertial sensors (e.g., accelerometers and gyroscopes),wheel speed sensors, and/or other mechanisms to measure a velocity of avehicle. Each one of these mechanisms may at times provide accuratemeasurements, but may have various disadvantages as well. For example,wheel speed sensors might lose traction and slip, even by a smallamount, which may negatively impact the reliability of the sensormeasurements. It may thus be desirable to implement a mechanism that candetect relative motion between the vehicle and the environment withhigher accuracy and reliability. Additionally, systems such as GPS mayonly have an accuracy of approximately 4 meters. Thus, a GPS measurementmay not be able to provide an accurate measurement of whether or not avehicle is stopped.

Accordingly, disclosed herein are methods and systems relating tovehicle velocity calculation using radar technology—namely, usingmultiple radar sensors. Per the disclosure, a vehicle system may useradar data from two or more radar sensors to determine which objects inthe environment are likely stationary, and then use these objects tocalculate the linear and/or angular velocity of the vehicle to which thetwo or more radar sensors are attached.

For example, a vehicle system may be configured to receive, while thevehicle is moving on a road of travel, radar data acquired from two ormore radar sensor mounted at two different locations (or with twodifferent orientations) on the vehicle. The radar data may berepresentative of the environment of the vehicle. The system may thenuse the radar data to detect a scatterer present in the environment.Herein, a “scatterer” may refer to an object that scatters (i.e.,reflects) radar waves when the radar waves encounters the object.Further, the system may be configured to determine a likelihood that thescatterer is stationary with respect to the vehicle. In someimplementations, the system may be able to use coherent change detectionto determine if a scatter is moving or not. Coherent change detectionmay use a sliding window and compare the phase of returns from thescatterer to determine movement. For example, a coherent processinginterval (CPI) may be compared with another CP_(i) (where i is the sizeof the sliding window) to measure the relative phase from the scatterer.

If the system determines that the likelihood of the scatterer beingstationary is at least equal to a predefined confidence threshold, thesystem may responsively then calculate a velocity of the vehicle basedon the radar data. The velocity may include a linear velocity and/or anangular velocity of the vehicle.

Once the system has calculated the velocity of the vehicle, the systemmay control the vehicle based on that velocity. For example, if thesystem determines that the calculated angular velocity meets or exceedsa predefined threshold, the system may cause the vehicle to adjust itssteering angle, reduce its linear velocity, and/or reduce its angularvelocity. Additionally or alternatively, if the system determines thatthe calculated linear velocity meets or exceeds a predefined threshold,the system may cause the vehicle to adjust its steering angle, reduceits linear velocity, and/or reduce its angular velocity. The system maytake into account other factors to control the vehicle as well.

Furthermore, in practice, many vehicle systems may also implementencoders, inertial sensors, GPS, and/or other mechanisms to measurewhether a vehicle is stationary or not. In some instances, suchmechanisms may be configured to output that the vehicle is stationary inresponse to the mechanism having detected that the vehicle's measuredvelocity is zero and/or in response to the mechanism having detectedthat the vehicle's measured velocity is below a predefined detectionthreshold, such as 1 centimeter per second (cm/s). Encoders inparticular may be configured to support motion detection in centimetersper second.

However, such mechanisms may have varying issues. As previouslydiscussed, GPS, for example, may have high position noise and highlatency. As another example, accelerometers may exhibit noise that mightcause a strapdown inertial navigation system (e.g., an inertialsensor-based system where the sensors are strapped to the vehicle) ortype of other inertial sensor system to detect motion even when thevehicle is stationary.

Accordingly, further disclosed herein are methods and systems relatingto vehicle motion detection using radar technology. For example, in linewith the discussion above, a vehicle system may be configured to receiveradar data acquired from a radar sensor mounted on the vehicle, wherethe radar data is representative of the environment of the vehicle. Thesystem may then use the radar data to detect a scatterer present in theenvironment.

Further, the system may be configured to determine a likelihood that thescatterer is stationary with respect to the vehicle, such as by usingDoppler measurements, as discussed above. If the system determines thatthe likelihood of the scatterer being stationary is at least equal to apredefined confidence threshold, the system may then determine anindication that the vehicle is stationary, and then control movement ofthe vehicle based on the indication. For instance, the indication maytake the form of a binary output (e.g., ‘0’ if not stationary, ‘1’ ifstationary), and if the binary output indicates that the vehicle isstationary, the system may configure itself to ignore other movementsensor readings, such as inertial sensor readings, but may reconfigureitself to take inertial sensor readings into account once the binaryoutput indicates that the vehicle is no longer stationary.

In practice, objects in the environment that have a threshold highlikelihood of being stationary scatterers may appear in the radar dataas clutter. Thus, the methods and systems described herein may differfrom known radar implementations in that many known radarimplementations involve removing or otherwise disregarding clutter thatappears in radar data. By contrast, these methods and systems mayinvolve isolating or otherwise taking into consideration clutter in theradar data and using the clutter as a basis for calculating a velocityof the vehicle and/or determining whether the vehicle is stationary ornot.

The described methods and systems may provide other improvements toradar technology and/or motion sensing/measurements as well. Forexample, airborne-based radar systems may transmit radar waves at a lowrate and at greater distances (e.g., thousands or tens of thousands ofmeters) in order to sense objects on the ground, and attempts to sensesuch objects on the ground may often result in aliasing or otherundesirable effects. In addition, due to the low rate, such radarsystems might not be able to isolate a single scatterer in radar data.By contrast, the present methods and systems involve transmitting radarwaves at a higher rate and at shorter distances (e.g., hundreds ofmeters or less) in order to sense objects.

Operations described herein with regard to radar-based vehicle motiondetection in particular may facilitate motion detection with higheraccuracy, higher sensitivity, and lower latency, among other possibleimprovements. By way of example, such operations may facilitate motiondetection in millimeters per second—namely, outputting that the vehicleis stationary in response to detecting that the vehicle's measuredvelocity is below a predefined threshold of approximately 1 millimeterper second (mm/s)—thereby providing about ten times the precision ofexisting motion detection mechanisms.

Although implementations described herein are generally discussed withregard to radar systems, it should be noted that the vehicle velocitycalculation and/or vehicle motion detection operations discussed couldbe performed using LIDAR systems as well, additionally or alternativelyto using radar. By way example, the vehicle system may use at least oneframe of LIDAR data to detect at least one scatterer and then determinea likelihood that the at least one scatterer is stationary, perhaps onlyconsidering LIDAR data, or perhaps considering LIDAR data in combinationwith other types of data (e.g., radar, images, maps, and/or remoteassistance). For instance, the vehicle system may receive multipleframes of LIDAR data from one or more LIDAR sensors and determine towhat extent there has been a change in the portions of the LIDAR datathat is estimated to be associated with at least one scatterer. Thevehicle system may then determine whether the at least one scatterer isstationary based on how the determined extent of change compares with apredefined change threshold. As another example, the vehicle system mayuse at least one hybrid LIDAR/Doppler sensor to acquire LIDAR-basedDoppler measurements for scatterer candidates, and then use thosemeasurements in manners similar to those described above in order todetermine various information, such as (i) the likelihood that thescatterer candidates are stationary, (ii) whether the vehicle isstationary, and/or (iii) a velocity of the vehicle.

Example systems within the scope of the present disclosure will now bedescribed in greater detail. An example system may be implemented in ormay take the form of an automobile. However, an example system may alsobe implemented in or take the form of other vehicles, such as cars,trucks, motorcycles, buses, boats, airplanes, helicopters, lawn mowers,earth movers, boats, snowmobiles, aircraft, recreational vehicles,amusement park vehicles, farm equipment, construction equipment, trams,golf carts, trains, trolleys, and robot devices. Other vehicles arepossible as well.

Referring now to the figures, FIG. 1 is a functional block diagramillustrating example vehicle 100, which may be configured to operatefully or partially in an autonomous mode. More specifically, vehicle 100may operate in an autonomous mode without human interaction throughreceiving control instructions from a computing system. As part ofoperating in the autonomous mode, vehicle 100 may use sensors to detectand possibly identify objects of the surrounding environment to enablesafe navigation. In some implementations, vehicle 100 may also includesubsystems that enable a driver to control operations of vehicle 100.

As shown in FIG. 1, vehicle 100 may include various subsystems, such aspropulsion system 102, sensor system 104, control system 106, one ormore peripherals 108, power supply 110, computer system 112, datastorage 114, and user interface 116. In other examples, vehicle 100 mayinclude more or fewer subsystems, which can each include multipleelements. The subsystems and components of vehicle 100 may beinterconnected in various ways. In addition, functions of vehicle 100described herein can be divided into additional functional or physicalcomponents, or combined into fewer functional or physical componentswithin implementations.

Propulsion system 102 may include one or more components operable toprovide powered motion for vehicle 100 and can include an engine/motor118, an energy source 119, a transmission 120, and wheels/tires 121,among other possible components. For example, engine/motor 118 may beconfigured to convert energy source 119 into mechanical energy and cancorrespond to one or a combination of an internal combustion engine, anelectric motor, steam engine, or Stirling engine, among other possibleoptions. For instance, in some implementations, propulsion system 102may include multiple types of engines and/or motors, such as a gasolineengine and an electric motor.

Energy source 119 represents a source of energy that may, in full or inpart, power one or more systems of vehicle 100 (e.g., engine/motor 118).For instance, energy source 119 can correspond to gasoline, diesel,other petroleum-based fuels, propane, other compressed gas-based fuels,ethanol, solar panels, batteries, and/or other sources of electricalpower. In some implementations, energy source 119 may include acombination of fuel tanks, batteries, capacitors, and/or flywheels.

Transmission 120 may transmit mechanical power from engine/motor 118 towheels/tires 121 and/or other possible systems of vehicle 100. As such,transmission 120 may include a gearbox, a clutch, a differential, and adrive shaft, among other possible components. A drive shaft may includeaxles that connect to one or more wheels/tires 121.

Wheels/tires 121 of vehicle 100 may have various configurations withinexample implementations. For instance, vehicle 100 may exist in aunicycle, bicycle/motorcycle, tricycle, or car/truck four-wheel format,among other possible configurations. As such, wheels/tires 121 mayconnect to vehicle 100 in various ways and can exist in differentmaterials, such as metal and rubber.

Sensor system 104 can include various types of sensors, such as GPS 122,inertial measurement unit (IMU) 124, radar 126, laser rangefinder/LIDAR128, camera 130, steering sensor 123, and throttle/brake sensor 125,among other possible sensors. In some implementations, sensor system 104may also include sensors configured to monitor internal systems of thevehicle 100 (e.g., O₂ monitor, fuel gauge, engine oil temperature, brakewear).

GPS 122 may include a transceiver operable to provide informationregarding the position of vehicle 100 with respect to the Earth. IMU 124may have a configuration that uses one or more accelerometers and/orgyroscopes and may sense position and orientation changes of vehicle 100based on inertial acceleration. For example, IMU 124 may detect a pitchand yaw of the vehicle 100 while vehicle 100 is stationary or in motion.

Radar 126 may represent one or more systems configured to use radiosignals to sense objects, including the speed and heading of theobjects, within the local environment of vehicle 100. As such, radar 126may include antennas configured to transmit and receive radio signals.In some implementations, radar 126 may correspond to a mountable radarsystem configured to obtain measurements of the surrounding environmentof vehicle 100.

Laser rangefinder/LIDAR 128 may include one or more laser sources, alaser scanner, and one or more detectors, among other system components,and may operate in a coherent mode (e.g., using heterodyne detection) orin an incoherent detection mode. Camera 130 may include one or moredevices (e.g., still camera or video camera) configured to captureimages of the environment of vehicle 100.

Steering sensor 123 may sense a steering angle of vehicle 100, which mayinvolve measuring an angle of the steering wheel or measuring anelectrical signal representative of the angle of the steering wheel. Insome implementations, steering sensor 123 may measure an angle of thewheels of the vehicle 100, such as detecting an angle of the wheels withrespect to a forward axis of the vehicle 100. Steering sensor 123 mayalso be configured to measure a combination (or a subset) of the angleof the steering wheel, electrical signal representing the angle of thesteering wheel, and the angle of the wheels of vehicle 100.

Throttle/brake sensor 125 may detect the position of either the throttleposition or brake position of vehicle 100. For instance, throttle/brakesensor 125 may measure the angle of both the gas pedal (throttle) andbrake pedal or may measure an electrical signal that could represent,for instance, an angle of a gas pedal (throttle) and/or an angle of abrake pedal. Throttle/brake sensor 125 may also measure an angle of athrottle body of vehicle 100, which may include part of the physicalmechanism that provides modulation of energy source 119 to engine/motor118 (e.g., a butterfly valve or carburetor). Additionally,throttle/brake sensor 125 may measure a pressure of one or more brakepads on a rotor of vehicle 100 or a combination (or a subset) of theangle of the gas pedal (throttle) and brake pedal, electrical signalrepresenting the angle of the gas pedal (throttle) and brake pedal, theangle of the throttle body, and the pressure that at least one brake padis applying to a rotor of vehicle 100. In other embodiments,throttle/brake sensor 125 may be configured to measure a pressureapplied to a pedal of the vehicle, such as a throttle or brake pedal.

Control system 106 may include components configured to assist innavigating vehicle 100, such as steering unit 132, throttle 134, brakeunit 136, sensor fusion algorithm 138, computer vision system 140,navigation/pathing system 142, and obstacle avoidance system 144. Morespecifically, steering unit 132 may be operable to adjust the heading ofvehicle 100, and throttle 134 may control the operating speed ofengine/motor 118 to control the acceleration of vehicle 100. Brake unit136 may decelerate vehicle 100, which may involve using friction todecelerate wheels/tires 121. In some implementations, brake unit 136 mayconvert kinetic energy of wheels/tires 121 to electric current forsubsequent use by a system or systems of vehicle 100.

Sensor fusion algorithm 138 may include a Kalman filter, Bayesiannetwork, or other algorithms that can process data from sensor system104. In some implementations, sensor fusion algorithm 138 may provideassessments based on incoming sensor data, such as evaluations ofindividual objects and/or features, evaluations of a particularsituation, and/or evaluations of potential impacts within a givensituation.

Computer vision system 140 may include hardware and software operable toprocess and analyze images in an effort to determine objects,environmental objects (e.g., stop lights, road way boundaries, etc.),and obstacles. As such, computer vision system 140 may use objectrecognition, Structure from Motion (SFM), video tracking, and otheralgorithms used in computer vision, for instance, to recognize objects,map an environment, track objects, estimate the speed of objects, etc.

Navigation/pathing system 142 may determine a driving path for vehicle100, which may involve dynamically adjusting navigation duringoperation. As such, navigation/pathing system 142 may use data fromsensor fusion algorithm 138, GPS 122, and maps, among other sources tonavigate vehicle 100. Obstacle avoidance system 144 may evaluatepotential obstacles based on sensor data and cause systems of vehicle100 to avoid or otherwise negotiate the potential obstacles.

As shown in FIG. 1, vehicle 100 may also include peripherals 108, suchas wireless communication system 146, touchscreen 148, microphone 150,and/or speaker 152. Peripherals 108 may provide controls or otherelements for a user to interact with user interface 116. For example,touchscreen 148 may provide information to users of vehicle 100. Userinterface 116 may also accept input from the user via touchscreen 148.Peripherals 108 may also enable vehicle 100 to communicate with devices,such as other vehicle devices.

Wireless communication system 146 may wirelessly communicate with one ormore devices directly or via a communication network. For example,wireless communication system 146 could use 3G cellular communication,such as CDMA, EVDO, GSM/GPRS, or 4G cellular communication, such asWiMAX or LTE. Alternatively, wireless communication system 146 maycommunicate with a wireless local area network (WLAN) using WiFi™ orother possible connections. Wireless communication system 146 may alsocommunicate directly with a device using an infrared link, Bluetooth®,or ZigBee®, for example. Other wireless protocols, such as variousvehicular communication systems, are possible within the context of thedisclosure. For example, wireless communication system 146 may includeone or more dedicated short-range communications (DSRC) devices thatcould include public and/or private data communications between vehiclesand/or roadside stations.

Vehicle 100 may include power supply 110 for powering components. Powersupply 110 may include a rechargeable lithium-ion or lead-acid batteryin some implementations. For instance, power supply 110 may include oneor more batteries configured to provide electrical power. Vehicle 100may also use other types of power supplies. In an exampleimplementation, power supply 110 and energy source 119 may be integratedinto a single energy source.

Vehicle 100 may also include computer system 112 to perform operations,such as operations described therein. As such, computer system 112 mayinclude at least one processor 113 (which could include at least onemicroprocessor) operable to execute instructions 115 stored in anon-transitory computer readable medium, such as data storage 114. Insome implementations, computer system 112 may represent a plurality ofcomputing devices that may serve to control individual components orsubsystems of vehicle 100 in a distributed fashion.

In some implementations, data storage 114 may contain instructions 115(e.g., program logic) executable by processor 113 to execute variousfunctions of vehicle 100, including those described above in connectionwith FIG. 1. Data storage 114 may contain additional instructions aswell, including instructions to transmit data to, receive data from,interact with, and/or control one or more of propulsion system 102,sensor system 104, control system 106, and peripherals 108.

In addition to instructions 115, data storage 114 may store data such asroadway maps, path information, among other information. Suchinformation may be used by vehicle 100 and computer system 112 duringthe operation of vehicle 100 in the autonomous, semi-autonomous, and/ormanual modes.

Vehicle 100 may include user interface 116 for providing information toor receiving input from a user of vehicle 100. User interface 116 maycontrol or enable control of content and/or the layout of interactiveimages that could be displayed on touchscreen 148. Further, userinterface 116 could include one or more input/output devices within theset of peripherals 108, such as wireless communication system 146,touchscreen 148, microphone 150, and speaker 152.

Computer system 112 may control the function of vehicle 100 based oninputs received from various subsystems (e.g., propulsion system 102,sensor system 104, and control system 106), as well as from userinterface 116. For example, computer system 112 may utilize input fromsensor system 104 in order to estimate the output produced by propulsionsystem 102 and control system 106. Depending upon the embodiment,computer system 112 could be operable to monitor many aspects of vehicle100 and its subsystems. In some embodiments, computer system 112 maydisable some or all functions of the vehicle 100 based on signalsreceived from sensor system 104.

The components of vehicle 100 could be configured to work in aninterconnected fashion with other components within or outside theirrespective systems. For instance, in an example embodiment, camera 130could capture a plurality of images that could represent informationabout a state of an environment of vehicle 100 operating in anautonomous mode. The state of the environment could include parametersof the road on which the vehicle is operating. For example, computervision system 140 may be able to recognize the slope (grade) or otherfeatures based on the plurality of images of a roadway. Additionally,the combination of GPS 122 and the features recognized by computervision system 140 may be used with map data stored in data storage 114to determine specific road parameters. Further, radar unit 126 may alsoprovide information about the surroundings of the vehicle.

In other words, a combination of various sensors (which could be termedinput-indication and output-indication sensors) and computer system 112could interact to provide an indication of an input provided to controla vehicle or an indication of the surroundings of a vehicle.

In some embodiments, computer system 112 may make a determination aboutvarious objects based on data that is provided by systems other than theradio system. For example, vehicle 100 may have lasers or other opticalsensors configured to sense objects in a field of view of the vehicle.Computer system 112 may use the outputs from the various sensors todetermine information about objects in a field of view of the vehicle,and may determine distance and direction information to the variousobjects. Computer system 112 may also determine whether objects aredesirable or undesirable based on the outputs from the various sensors.

Although FIG. 1 shows various components of vehicle 100, i.e., wirelesscommunication system 146, computer system 112, data storage 114, anduser interface 116, as being integrated into the vehicle 100, one ormore of these components could be mounted or associated separately fromvehicle 100. For example, data storage 114 could, in part or in full,exist separate from vehicle 100. Thus, vehicle 100 could be provided inthe form of device elements that may be located separately or together.The device elements that make up vehicle 100 could be communicativelycoupled together in a wired and/or wireless fashion.

FIG. 2 depicts an example physical configuration of vehicle 200, whichmay represent one possible physical configuration of vehicle 100described in reference to FIG. 1. Depending on the embodiment, vehicle200 may include sensor unit 202, wireless communication system 204,radio unit 206, and camera 210, among other possible components. Forinstance, vehicle 200 may include some or all of the elements ofcomponents described in FIG. 1. Although vehicle 200 is depicted in FIG.2 as a car, vehicle 200 can have other configurations within examples,such as a truck, a van, a semi-trailer truck, a motorcycle, a golf cart,an off-road vehicle, or a farm vehicle, among other possible examples.

Sensor unit 202 may include one or more sensors configured to captureinformation of the surrounding environment of vehicle 200. For example,sensor unit 202 may include any combination of cameras, radars, LIDARs,range finders, radio devices (e.g., Bluetooth® and/or 802.11), andacoustic sensors, among other possible types of sensors. In someimplementations, sensor unit 202 may include one or more movable mountsoperable to adjust the orientation of sensors in sensor unit 202. Forexample, the movable mount may include a rotating platform that can scansensors so as to obtain information from each direction around thevehicle 200. The movable mount of sensor unit 202 may also be moveablein a scanning fashion within a particular range of angles and/orazimuths.

In some implementations, sensor unit 202 may include mechanicalstructures that enable sensor unit 202 to be mounted atop the roof of acar. Additionally, other mounting locations are possible within variousexamples.

Wireless communication system 204 may have a location relative tovehicle 200 as depicted in FIG. 2, but can also have different locationswithin implementations. Wireless communication system 200 may includeone or more wireless transmitters and one or more receivers that maycommunicate with other external or internal devices. For example,wireless communication system 204 may include one or more transceiversfor communicating with a user's device, other vehicles, and roadwayelements (e.g., signs, traffic signals), among other possible entities.As such, vehicle 200 may include one or more vehicular communicationsystems for facilitating communications, such as dedicated short-rangecommunications (DSRC), radio frequency identification (RFID), and otherproposed communication standards directed towards intelligent transportsystems.

Camera 210 may have various positions relative to vehicle 200, such as alocation on a front windshield of vehicle 200. As such, camera 210 maycapture images of the environment of vehicle 200. As illustrated in FIG.2, camera 210 may capture images from a forward-looking view withrespect to vehicle 200, but other mounting locations (including movablemounts) and viewing angles of camera 210 are possible withinimplementations. In some examples, camera 210 may correspond to one ormore visible light cameras. Alternatively or additionally, camera 210may include infrared sensing capabilities. Camera 210 may also includeoptics that may provide an adjustable field of view.

FIG. 3A illustrates a block diagram of a sensing system 300 including acoupler 306. The coupler 306 may be configured to couple a sensor unit304 to a vehicle 302. The coupler 306 may enable the sensor unit 304 tobe removeably coupled to the vehicle 302. In some examples, aspreviously discussed, a vehicle may be sold as “autonomous ready.” An“autonomous ready” vehicle may be able to perform autonomous drivingfunctions, but may lack some of the sensors used to perform autonomousdriving functions. However, the vehicle 302 may include a coupler 306that allows a sensor unit 304 to be coupled to the vehicle 302 later.For example, a person may purchase an “autonomous ready” vehicle and maylater decide to either buy or rent a sensor unit 304 in order to providethe vehicle with autonomous functionality. In some examples, the coupler306 may be a universal, non-manufacturer specific standardized design.That is, a sensor unit 304 may be coupled to any manufacturer's vehiclethat is “autonomous ready.”

In one example, an “autonomous ready” vehicle 302 may include acontroller 320 that includes a processor 322 and a memory 324. The“autonomous ready” vehicle 302 may also include a power supply 326 and aheat unit 328. The controller 320 may be similar or the same as thecomputer system 112 of FIG. 1. The controller 320 may be configured toreceive sensor data from the sensor unit 304 by way of a data bus 330that passes through the coupler 306. The controller 320 may be able todetermine control instructions for autonomous control of the vehiclebased at least in part on the sensor data. The controller 320 may alsostore some data and/or control instructions in memory 324. In someexamples, the controller 320 may be a fully-functional controller thatcan perform all of the sensor processing on its own.

Additionally, the vehicle 302 may include a power supply 326. The powersupply 326 may be similar or the same as power supply 110 described withrespect to FIG. 1. The power supply 326 may provide a voltage (e.g., 12volts) that supplies power to various components of the vehicle 302. Insome instances, the power supply may be configured to provide othervoltages than 12 volts. The power supply may be coupled to the sensorunit 304 by way of a power bus 332 that goes through the coupler 306.Additionally, the vehicle 302 may include a heat unit 328. The heat unit328 may be a radiator or other unit configured to provide cooling ofvarious components of vehicle 302. In some various examples, the heatunit 328 may provide cooling based on air and/or liquid cooling. Theheat unit 328 may be coupled to the sensor unit 304 by way of a heat bus334 that passes through the coupler 306.

The sensor unit 304 may contain various sensors, such as a LIDAR device310, a RADAR device 312, and other sensing devices 314 (such as optical,acoustic, and/or other sensing devices) located in a housing 308. Thehousing 308 may be configured to couple to the vehicle 302 by way of thecoupler 306. The sensors may be similar to those described throughout.The sensors may be coupled to the previously-described data bus thatcommunicates sensor data to the controller 320 of the vehicle 302through the coupler 306. The sensor unit may also include a heatexchanger 316. The heat exchanger 316 may be configured to providecooling to the various sensors and components of the sensor unit 304.The heat exchanger 316 may use liquid cooling to remove heat from thevarious sensor devices during their operation. For example, the LIDARdevice 310 and/or the RADAR device 312 may generate heat during theoperation. In order to keep the devices cool and to prevent theirfailures, the heat exchanger 316 may be able to remove heat from thedevice(s). Additionally, as previously discussed, in order to remove theaccumulated heat from the sensor unit 304, the heat unit 328 may becoupled to the sensor unit 302 by way of a heat bus that passes throughthe coupler 306. liquid, air, or other substance may flow through theheat bus to remove heat from the sensor unit.

FIG. 3B illustrates a block diagram of another sensing system 350including a coupler 356. In some examples, an “autonomous ready” vehiclemay be able to perform autonomous driving functions, but may lack bothsome of the sensors used to perform autonomous driving functions as wellas some of the processing power to perform autonomous driving functions.Similar to the example discussed with respect to FIG. 3A, a person maypurchase an “autonomous ready” vehicle 352. However, the “autonomousready” vehicle 352 of FIG. 3B may be a lower cost vehicle than that ofFIG. 3A. The lower cost “autonomous ready” vehicle 352 may not havesufficient processing capabilities for autonomous driving calculations.Thus, the controller 370 may not be able to make the determinationsrequired based on sensor data to autonomously drive the vehicle.However, the controller 370 and processor 372 may be able to performsome control functions of the vehicle.

Similar to vehicle 302 of FIG. 3A, the vehicle 352 may include a coupler356 that allows other devices to be coupled to the vehicle 352 later.For example, a person may purchase the “autonomous ready” vehicle 352and later decide to either buy or rent a sensor unit 304 to provide thevehicle with autonomous functionality. As previously discussed, thecoupler 356 may be a universal, non-manufacturer specific standardizeddesign. That is, a sensor unit 304 may be coupled to any manufacturer'svehicle that is “autonomous ready.”

In order to provide autonomous vehicle control, sensing system 350 mayinclude a conversion unit 354. The conversion unit 354 may couple to thevehicle 352 by way of coupler 356 and to the sensor unit 304 by way ofcoupler 358. In some further examples, the conversion unit 354 may beintegrated within the sensor unit 304 and the coupler 358 may beomitted.

The conversion unit 354 may perform several functions to enable thevehicle 352 to perform autonomous driving functions. In some examples,the conversion unit 354 may include a processor 362. The processor 362may be configured to receive the sensor data from the data bus of thesensor unit. The processor 362 may also receive data from the controller370 of the vehicle 352. The controller 370 may communicate signalsrelated to the vehicle 352 to the processor 362. The controller 370 maybe in communication and/or provide a connection to a control bus of thevehicle 352 to the processor 362. The bus of the vehicle 352 may be aController Area Network (CAN) bus in communication with an on-boardvehicle diagnostic (OBD) system. The CAN bus may enable various units ofthe vehicle 352 to communicate with each other. In some other examples,the communication bus may be a bus other than a CAN bus.

The processor 362 may be able to interpret sensor data from sensor unit304 and vehicle data from vehicle 352 to determine a control scheme forthe autonomous operation of the vehicle 352. The processor 362 mayfurther be able to determine control signals for the vehicle 352. Theprocessor 362 may communicate the control signals to the controller 370of the vehicle 352 in order to autonomously operate the vehicle 352.Therefore, the processor 362 of the conversion unit 354 may performautonomous driving calculations that would otherwise be performed by aprocessing unit of a vehicle. Thus, the processor 362 may be able to tapinto the CAN bus (or other data bus) of the vehicle to provideautonomous operation.

The conversion unit 354 may also contain a power converter 364. Thepower converter 364 may be able to convert a vehicle voltage to one ormore voltages to power the various components of the sensor unit 304.The power converter 364 may receive one or more voltages from thevehicle 352 and convert them to one or more output voltages to thesensor unit 304.

FIG. 4A depicts a physical configuration of a vehicle 400. The vehicle400 may have a sensor unit 402 coupled to the top of the vehicle. Thevehicle 400 may also have a coupler 404 that couples the sensor unit 402and the vehicle 400. FIG. 4B depicts a physical configuration of avehicle 450. The vehicle 450 may have a sensor unit 452 coupled to aconversion unit 456 by way of a first coupler 454. The conversion unit456 may be coupled to the top of the vehicle 450 by a coupler 456.

In line with the discussion above, radar systems may be arranged invarious ways and may include one or more radar sensors. Each radarsensor described herein may be coupled to or otherwise mounted on avehicle at a variety of locations, including but not limited to, a roofof the vehicle, behind a headlight, in front of a headlight, on a sidemirror, near the bottom of the windshield, co-located with anothersensor (e.g., coupled to another sensor), on top of the trunk, on ahood, on a bumper, on a hood ornament, and/or proximate to a licenseplate. In some implementations, a given radar sensor may be mounted at alocation in an interior of the vehicle, such as the dashboard of thevehicle. The following figures illustrate representative examples ofvehicle radar systems, radar sensor locations, and radar system usage.

FIG. 5 illustrates an example scenario of a vehicle 500 using a radarsystem 502. Radar system 502 represents an example vehicle radar system,such as RADAR device 312 shown in FIG. 3A, or one or more radar sensorsincluded in sensor unit 202 shown in FIG. 2. As such, radar system 502may include the various components described herein arranged to obtainmeasurements of the surrounding environment.

Vehicle 500 may in some scenarios operate in an autonomous mode. Asvehicle 500 navigates the environment, radar system 502 may transmit andreceive radar signals that provide measurements of the surrounding areasnearby vehicle 500. As a result, radar system 502 may enable a computingsystem of vehicle 500 to utilize the radar data to determine a positionof road elements (e.g., curb, medians) and/or other objects relative toa position of vehicle 500. For example, radar system 502 may capture andprovide measurements that detect other vehicles (e.g., vehicle 504),signs, cyclists, pedestrians, and traffic signals, among other possibleobjects. In particular, as shown in FIG. 5, a computing system mayreceive measurements from radar system 502 that indicates the presenceof another vehicle 504 located in long range coverage sections coveringareas positioned relative to vehicle 500.

In further implementations, radar system 502 may detect multiplevehicles or other types of objects at the same time. A computing systemof vehicle 500 may determine control operations for vehicle 500 based onmeasurements from radar system 502 and possibly other sensors thatindicate the presence of nearby objects. In some instance, the computingsystem may develop future navigation operations for vehicle 500 based ondetecting objects in the distance using radar signals from radar system502.

During the operation of radar system 502, the radar system 502 may havefour different receive beams 506A-506D. These beams may be configured torotate 508 either clockwise or counterclockwise. While the beams rotate,the may be able to receive radar reflections from scatterers locatednear the vehicle, such as another car 504, or a stationary object 510(e.g., a stop sign). In some further examples, the radar system 502 mayalso be configured to transmit an omnidirectional radar signal. In someinstances, it may be desirable to transmit with a single omnidirectionalradar signal and receive radar signals with four different radar unitsin order to minimize hardware requirements. Some example radar chips mayinclude one transmission channel and four reception channels. Therefore,a single radar chip could perform the transmission and reception in thisinstance.

The omnidirectional radar signal may reflect off various objects and bereceived by the radar unit by way of receive beams 506A-506D. In someother examples, receive beams 506A-506D may also represent transmitbeams as well. In some examples, the radar system 502 may transmitmultiple narrow beams, instead of an omnidirectional beam. In yet somefurther examples, the radar system could generally have multipleomnidirectional transmissions antennas dispersed spatially. By providinga spatial separation between omnidirectional transmission elements, theradar system may be able to provide sufficient information to separateazimuth and Doppler coupling. As previously discussed, separating theazimuth and Doppler coupling could be beneficial for both SyntheticAperture Radar (SAR) and Moving Target Indication (MTI) operating modes.

FIG. 6 illustrates an example scenario of a vehicle 600 using a radarsystem 602. Vehicle 600 may operate in an autonomous mode.

Radar system 602 represents an example vehicle radar system, such asradar system 502 shown in FIG. 5, RADAR device 312 shown in FIG. 3A, orone or more radar sensors included in sensor unit 202 shown in FIG. 2.As such, radar system 502 may include the various components describedherein arranged to obtain measurements of the surrounding environment.Further, radar system 602 may be configured to perform operationssimilar or identical to that of radar system 502 discussed above.

Radar system 602 may include at least two radar sensors, such as radarsensors 604 and 606. Each of radar sensors 604 and 606 may be located ata respective distance from a geometric centerline 607 of the vehicle.For example, as shown, radar sensors 604 and 606 may be equidistant fromthe geometric centerline 607.

During operation of radar system 602, radar sensor 604 may have field ofview 608 and radar sensor 606 may have field of view 610. Each of thesefields of view may correspond to a region of the environment over whicha respective radar sensor may send and receive signals to acquire radardata and thereby detect objects. In other implementations, these fieldsof view may not be limited to regions in front of the vehicle and/or maybe expanded or scaled down. Further, in some implementations, radarsystem 602 may be a component of a larger sensor unit that might includeone or more cameras and/or other types of sensors. The radar system 602and these other sensors may thus work in conjunction to acquireenvironment data, detect scatterers in the environment, and facilitatevehicle operation.

In the scenario illustrated in FIG. 6, vehicle 600 may use radar system602 to obtain radar data representative of various objects (e.g.,scatterers) in the environment. For example, as shown, scatterer 612 maybe located within field of view 608 and scatterer 614 may be locatedwithin field of view 610. Further, scatterer 616 may be locatedpartially within field of view 610.

FIG. 7 is a flowchart of an example method 700 for vehicle velocitycalculation using radar technology. Method 700 represents an examplemethod that may include one or more operations, functions, or actions,as depicted by one or more of blocks 702, 704, 706, 708, and 710, eachof which may be carried out by any of the systems shown in FIGS. 1, 2,3A, 3B, 4, 5, and 6, among other possible systems. Those skilled in theart will understand that the flowchart described herein illustratesfunctionality and operation of certain implementations of the presentdisclosure. In this regard, each block of the flowchart may represent amodule, a segment, or a portion of program code, which includes one ormore instructions executable by one or more processors for implementingspecific logical functions or steps in the process. The program code maybe stored on any type of computer readable medium, for example, such asa storage device including a disk or hard drive.

In addition, each block may represent circuitry that is wired to performthe specific logical functions in the process. Alternativeimplementations are included within the scope of the exampleimplementations of the present application in which functions may beexecuted out of order from that shown or discussed, includingsubstantially concurrent or in reverse order, depending on thefunctionality involved, as would be understood by those reasonablyskilled in the art. In examples, a computing system may cause a systemto perform one or more blocks of method 700.

At block 702, method 700 includes while an autonomous vehicle is movingon a road, receiving, from two or more radar sensors mounted atdifferent locations on the autonomous vehicle, radar data representativeof a physical environment of the autonomous vehicle.

As noted above, each of the two or more radar sensors may be mounted ata variety of possible locations inside or outside the vehicle, such as aroof of the vehicle, the dashboard, behind a headlight, etc.

In some implementations, the radar data may include Dopplermeasurements, or other types of measurements, captured in at least oneframe. Herein, a “frame” may refer to an interval of time over which agiven one or more radar sensors acquire radar data. In someimplementations, the radar data may include radar data acquired over twoor more consecutive frames. For instance, a radar sensor may acquireradar data over two consecutive intervals, each 130 milliseconds (ms) induration. In other implementations, the radar data may include radardata acquired over two or more nonconsecutive frames.

Further, in some implementations, the radar data may includemeasurements (Doppler, or another type) acquired simultaneously by thetwo or more radar sensors. Additionally or alternatively, the radar datamay include measurements acquired by the two or more radar sensors atdifferent points in time.

In some implementations, the radar data may take the form of, or beprocessed by the vehicle system to produce, a range-Doppler map havingone axis representing object distance from the radar sensor, and anotheraxis representing Doppler measurements.

At block 704, method 700 includes based on the radar data, detecting atleast one scatterer present in the environment.

In some implementations, the act of detecting the at least one scattererpresent in the environment may involve processing the radar data toisolate the at least one scatterer from a remainder of the radar data.To facilitate this in practice, the vehicle system may implement avariety of different techniques, some of which may be used to classifyscatterers in the radar data as stationary or non-stationary. Forexample, the vehicle system may classify scatterers as stationary ornon-stationary using an expectation maximization algorithm. Otherexamples are possible as well.

At block 706, method 700 includes making a determination of a likelihoodthat the at least one scatterer is stationary with respect to theautonomous vehicle.

In some implementations, the act of making the determination of thelikelihood that the at least one scatterer is stationary with respect tothe vehicle based on the radar data may involve making an absolutedetermination (e.g., a binary determination without considering a levelof confidence) that the at least one scatterer is stationary withrespect to the vehicle. In other embodiments, that act may involvedetermining whether the at least one scatterer is stationary on aconfidence level basis. For instance, for a given scatterer candidate,the vehicle system may be configured to determine a confidence levelindicative of how likely it is that the scatterer is stationary withrespect to the vehicle. Herein, a scatterer that has been determined inabsolute to be stationary, or determined to be stationary with athreshold high confidence level, may be referred to as a “stationaryscatterer.”

The vehicle system may be configured to determine such a confidencelevel for a given scatterer based on various factors. In someimplementations, for instance, the vehicle system may take into accountimage data received from at least one camera mounted on the vehicle whendetermining the confidence level for whether the scatterer isstationary. For example, the vehicle system may be configured toidentify an object in an image or series of images captured by a camera,and may have stored information indicating that the object is typicallya stationary object or a non-stationary object. As a more particularexample, the vehicle system may determine with a particular confidencelevel that an object in an image is a stop sign, which the vehiclesystem may determine to be a stationary object. As another particularexample, the vehicle system may determine with a particular confidencelevel that an object in an image is a car, but might not necessarilydetermine with threshold high confidence (e.g., confidence greater thana predefined threshold of 75, on a scale of 0 to 100) that the car isstationary or not. Other examples are possible as well.

Additionally or alternatively, in some implementations, the vehiclesystem may take into account optical data received from at least oneLIDAR sensor mounted on the vehicle when determining the confidencelevel for whether the scatterer is stationary. For example, at least oneLIDAR sensor may be configured to use ultraviolet, visible, or infraredlight at various wavelengths to image scatterers in the environment.Different types of scattering may be used for different LIDARapplications. Further, suitable combinations of wavelengths can allowfor remote mapping of objects by looking for wavelength-dependentchanges in intensity of reflected signals. Still further,three-dimensional (3D) imaging may be achieved using both scanning andnon-scanning LIDAR systems to produce a 3D point cloud, which a LIDARunit of the vehicle system may then output as a data file. The pointcloud can then be used to identify and visualize scatterers in theenvironment. In some scenarios, the vehicle system may analyze the pointcloud and determine (perhaps with a given confidence level) whether anidentified scatterer in the environment is stationary or not, possiblyby referring to stored information that might indicate whether theidentified scatterer is typically stationary. Other examples arepossible as well.

Additionally or alternatively, in some implementations, the vehiclesystem may take into account predefined map data when determining theconfidence level for whether the scatterer is stationary. The predefinedmap data may take the form of a map accessible by the vehicle system.For instance, the vehicle system may download an updated map from aserver or may already have stored such a map. In any event, thepredefined map data may include a known location of the scatterer. Insome examples, the predefined map data may further include an indicationof whether the scatterer is a type of scatterer that is typicallystationary or not. Furthermore, the vehicle system may refer to thepredefined map data to determine whether the scatterer is stationary. Inother example, the vehicle system may have access to two different mapswith two different time stamps, and may compare the two to determinewhether the scatterer has moved or not. Other examples are possible aswell.

In some implementations, the vehicle system may take into account remoteassistance data when determining the confidence level for whether thescatterer is stationary. For example, the vehicle system may transmit,to a computing device of a remote assistance human operator, a recordedimage or video of the scatterer, as well as a request prompting thehuman operator to view the image or video and determine whether thescatterer is stationary. If the vehicle system then receives from thecomputing device remote assistance data indicating the human operator'sthreshold high level of confidence, for instance, the vehicle system mayresponsively increase the confidence level for the scatterer, perhaps tobe above a predefined confidence threshold (e.g., predefined thresholdof 90, on a scale of 0 to 100). On the other hand, if the vehicle systemreceives from the computing device remote assistance data indicating thehuman operator's threshold low level of confidence (e.g., a confidencelevel below a predefined threshold), the vehicle system may responsivelydecrease the confidence level for the scatterer, or perhaps leave theconfidence level unchanged.

Other techniques and considerations may also be used to determine theconfidence level for whether the scatterer is stationary, in addition toor alternatively to those described above. Variations of the techniquesdescribed above are possible as well.

In some implementations, the act of making the determination of thelikelihood that the at least one scatterer is stationary with respect tothe vehicle based on the radar data may involve making the determinationbased on Doppler measurements in a single frame of the radar data. Forexample, the vehicle system may detect one or two scatterers having thesame Doppler measurements, and may responsively determine that the oneor two scatterers are stationary. Alternatively, that act may involvemaking the determination based on Doppler measurements in two or moreframes of the radar data, either consecutive frames or non-consecutiveframes. For example, after range-Doppler compression a comparison of thephase in the output of matched filter i between successive frames, orCPIs. So long as the radar is coherent phase at the output of thematched filters is stable (e.g., no change in phase of the return of thescatterer) if the scene is constant. Therefore, if phase changes, thenthe scene has changed. By way of example, even millimeters of motion maytrigger such a detector.

In implementations where the radar data includes Doppler measurements intwo (or more) consecutive frames and the Doppler measurements areestimated to be associated with at least one scatterer, the vehiclesystem may be configured to consider differences, or a lack ofdifferences, between the Doppler measurements in the consecutive framesto determine information about the scatterer(s) in the environment, suchas the likelihood that the scatterer(s) are stationary with respect tothe vehicle. In addition, the vehicles system may consider this toperhaps determine information about the vehicle's movement. If thevehicle is stationary, for instance, stationary scatterers may have thesame (or approximately the same, e.g., within a predefined thresholdvalue of each other) Doppler measurements between two or moreconsecutive frames—namely, a Doppler measurements of zero orapproximately zero. On the other hand, if the vehicle is moving,stationary scatterers may have the same (or approximately the same)non-zero Doppler measurements between two or more consecutive frames,and the non-zero Doppler measurements may approximately represent thevelocity of the vehicle.

Accordingly, the act of the vehicle system making the determination ofthe likelihood that the at least one scatterer is stationary withrespect to the vehicle based on the Doppler measurements in the twoconsecutive frames may involve the vehicle system making a determinationthat a change in the Doppler measurements between the two consecutiveframes is less than (or equal to) a predefined threshold (e.g., lessthan a Doppler measurement of 1). If the change is less than apredefined threshold, the vehicle system may determine with a thresholdhigh confidence, or make an absolute determination, that the at leastone scatterer is stationary with respect to the vehicle. Whereas, if thechange is greater than the predefined threshold, the vehicle system maydetermine with a threshold high confidence, or make an absolutedetermination, that the at least one scatterer is not stationary withrespect to the vehicle.

In some examples, the vehicle system may determine a change in themagnitude and phase of the scatterer-associated clutter in the twoconsecutive frames of the radar data, and if the magnitude and phase areboth constant (or approximately constant) between the two consecutiveframes, the vehicle system may determine that the scatterer isstationary. Other examples are possible as well.

In some implementations, the vehicle system may be configured todetermine the likelihood that a scatterer is stationary with respect tothe vehicle based on a consideration of Doppler measurements in two ormore non-consecutive frames. For example, the vehicle may determine thelikelihood based on two Doppler measurements made within a predefinedthreshold time of each other (e.g., within 0.5 seconds), but that werenot necessarily in consecutive frames. As an example of how else thevehicle system may consider non-consecutive frames, the vehicle systemmay determine the likelihood based on a consideration of the Dopplermeasurements in every n-th frame in a sliding window fashion, where n isgreater than one (e.g., every fourth frame). Other examples are possibleas well.

At block 708, method 700 includes in response to the likelihood being atleast equal to a predefined confidence threshold, calculating a velocityof the autonomous vehicle based on the radar data from the two or moreradar sensors, where the calculated velocity comprises an angularvelocity and a linear velocity.

In some implementations, with regard to a single radar sensor, theclutter associated with a stationary scatterer may fall along a manifoldthat is based on (i) a Doppler measurement of the scatterer, (ii) avelocity of the radar sensor, and (iii) a position of the scattererrelative to the radar sensor (e.g., a distance from the radar sensor tothe scatterer in the environment). For example, such clutter may fallalong a manifold defined by Equation 1, where d is the Dopplermeasurement of the scatterer, v_(s) is the velocity of the radar sensor,and p_(t) is the position of the scatterer relative to the radar sensor.The velocity and position are vectors in Equation 1, which includes adot product.

$\begin{matrix}{d = {{- v_{s}} \cdot \frac{p_{t}}{\left| p_{t} \right|}}} & {{Equation}\mspace{14mu} (1)}\end{matrix}$

Equation 1 may result in a sinusoidal variation of Doppler with an anglebetween the velocity vector and the scatterer target azimuth. Otherexample equations are possible as well. The vehicle system locating astationary scatterer manifold may allow the radar sensor to determine aninstantaneous velocity of the radar sensor relative to the environment.

In some implementations, the act of calculating the velocity of thevehicle may involve comparing the respective velocities of the two ormore radar sensors and then calculating the velocity based on thecomparison. One reason for doing this, for instance, may be because eachradar sensor may be moving at a respective different linear velocitydepending on whether the vehicle is turning left or right. By way ofexample, if the vehicle is turning left, a radar sensor mounted on theright side of the vehicle may be moving with a greater linear velocitythan a radar sensor mounted near a geometric centerline of the vehicle,which in turn may be moving with a greater linear velocity than a radarsensor mounted on the left side of the vehicle. Further, if the vehicleis turning right, a radar sensor mounted on the left side of the vehiclemay be moving with a greater linear velocity than a radar sensor mountednear a geometric centerline of the vehicle, which in turn may be movingwith a greater linear velocity than a radar sensor mounted on the rightside of the vehicle. By contrast, the respective angular velocities ofeach sensor may be the same, regardless of which direction the vehicleis turning, as the sensors are mounted to the structure of the vehiclethat is turning at the angular velocity.

In some implementations, the act of calculating the velocity based on acomparison of the respective velocities of the two or more radar sensorsmay involve computing the linear velocity of the vehicle to be anaverage of the respective linear velocities of the two or more radarsensors.

In an example, before receiving the radar data, and while the vehicle ismoving on the road, the vehicle system may cause at least a first andsecond radar sensor to acquire first and second radar data,respectively, which may together comprise the radar data received asnoted with regard to block 702. In such implementations, the act ofcalculating the velocity of the vehicle based on the radar data from thetwo or more radar sensors may involve (i) calculating a first velocitybased on the first radar data, (ii) calculating a second velocity basedon the second radar data, and (iii) calculating a third velocity basedon the first and second velocities. In this example, calculating thethird velocity based on the first and second velocities may involveaveraging the first and second velocities.

In some implementations, the vehicle system may calculate the linearvelocity of the vehicle and the angular velocity of the vehicle based onat least two Doppler measurements. For example, the Doppler measurementsmay include a first Doppler measurement of a first stationary scattererwith respect to a first radar sensor mounted on the vehicle, and asecond Doppler measurement of a second, different stationary scattererwith respect to a second radar sensor mounted on the vehicle at adifferent location than the first radar sensor. In another example, theDoppler measurements may also include a third Doppler measurement of athird stationary scatterer, different from the first and secondstationary scatterers, with respect to a third radar sensor mounted onthe vehicle at a different location than the first and second radarsensors. In other examples, the at least two Doppler measurements mayinclude at least two Doppler measurements of the same stationaryscatterer, which may occur when the stationary scatterer falls withineach of the at least two radar sensors' fields of view. Other examplesare possible as well.

As a particular example, referring back to FIG. 6, the vehicle systemmay determine with a threshold high likelihood (e.g., a confidence levelthat meets or exceeds the predefined confidence threshold) thatscatterers 612 and 614 are stationary, but may determine with athreshold low likelihood (e.g., a confidence level that is below thepredefined confidence threshold) that scatterer 616 is stationary (i.e.,scatterer 616 is moving). For instance, scatterer 616 may be apedestrian walking across the road. Further, the radar data may includea first Doppler measurement of scatterer 612 with respect to radarsensor 604, as well as a second Doppler measurement of scatterer 614with respect to radar sensor 606. The vehicle system may thus calculatethe linear velocity of the vehicle and/or the angular velocity of thevehicle based on the first and second Doppler measurements.

In some implementations, the vehicle system may calculate the linearvelocity of the vehicle and the angular velocity of the vehicle furtherbased on respective positions of the two or more radar sensors from ageometric centerline of the vehicle, such as based on (i) a firstdistance from a first sensor to the geometric centerline and (ii) asecond distance from a second sensor to the geometric centerline. Inaddition, the vehicle system may calculate the linear velocity of thevehicle and the angular velocity of the vehicle further based on (i)respective positions of two or more stationary scatterers relative tothe vehicle (e.g., respective distances from two or more stationaryscatterers to the vehicle) and/or (ii) a position of a single stationaryscatterer relative to the vehicle (e.g., a distance from the singlestationary scatterer to the vehicle).

Furthermore, in these or other implementations discussed above, theclutter associated with a stationary scatterer may fall along a manifolddefined by Equation 2, which may be defined with respect to thegeometric centerline of the vehicle. In Equation 2, d is the Dopplermeasurement with respect to a given radar sensor of the two or moreradar sensors, v_(r) is the linear velocity of the vehicle, co is theangular velocity of the vehicle, p_(r) is the position of the givenradar sensor relative to the geometric centerline of the vehicle, andp_(t) is the position of the scatterer relative to the given radarsensor.

$\begin{matrix}{d = {{- \left( {v_{r} + {\omega \times p_{r}}} \right)} \cdot \frac{p_{t}}{\left| p_{t} \right|}}} & {{Equation}\mspace{14mu} (2)}\end{matrix}$

In these implementations, given two different Doppler measurements, thevehicle system may calculate the linear velocity and/or the angularvelocity of the vehicle, perhaps using Equation 2, or perhaps using adifferent type of equation.

In some implementations, the act of calculating the velocity based on acomparison of the respective velocities of the two or more radar sensorsmay involve using a maximum likelihood estimator (MLE) that isconfigured to iteratively determine the most-likely values for thelinear velocity of the vehicle and/or the angular velocity of thevehicle, based on the radar data (e.g., various Doppler measurements)from the two or more radar sensors. For example, the vehicle system mayuse the MLE, two different Doppler measurements, and Equation 2 toiteratively determine the most-likely linear velocity and angularvelocity.

Moreover, in some implementations the linear velocity and/or angularvelocity may be calculated with higher accuracy using radar dataacquired from three or more radar sensors.

In some implementations, the vehicle system may receive informationincluding (i) an indication that one or more of the velocity of thevehicle is above a predefined velocity threshold (e.g., 10 meters persecond (m/s)) and/or (ii) an indication that a steering angle of thevehicle is above a predefined angle threshold (e.g., 45°). In suchimplementations, the act of calculating the velocity of the vehicle maybe performed in response to receiving this information.

At block 710, method 700 includes controlling the autonomous vehiclebased on the calculated velocity.

In some implementations, the act of controlling the vehicle based on thecalculated velocity may involve causing a movement module of the vehiclesystem to adjust a linear velocity of the vehicle. The movement modulemay take the form of an entity that receives signals from variousmovement devices such as the IMU and that also manages processing ofmovement data, such as gyroscope and accelerometer readings. Such amovement module may include the IMU, or may be separate from butcommunicatively linked to the IMU. Further, the act of causing themovement module to adjust the linear velocity may involve causing themovement module to increase or decrease the linear velocity of thevehicle.

Additionally or alternatively, the act of controlling the vehicle basedon the calculated velocity may involve causing a movement module of thevehicle system to adjust a steering angle of the vehicle, such as byincreasing or decreasing the current steering angle of the vehicle.

Additionally or alternatively, the act of controlling the vehicle basedon the calculated velocity may involve providing, on a display mountedon an interior of the vehicle, an indication of one or more of thecalculated angular velocity and the calculated linear velocity of thevehicle. For instance, the vehicle system may display to the user, via agraphical user interface and/or a speedometer, a visual indication ofthe calculated angular and/or linear velocity.

The act of controlling the vehicle based on the calculated velocity mayinvolve other operations as well, additionally or alternatively to thosedescribed above.

FIG. 8 is a flowchart of an example method 800 for vehicle motiondetection using radar technology. Method 800 represents an examplemethod that may include one or more operations, functions, or actions,as depicted by one or more of blocks 802, 804, 806, 808, and 810, eachof which may be carried out by any of the systems shown in FIGS. 1, 2,3A, 3B, 4, 5, and 6, among other possible systems. Those skilled in theart will understand that the flowchart described herein illustratesfunctionality and operation of certain implementations of the presentdisclosure. In this regard, each block of the flowchart may represent amodule, a segment, or a portion of program code, which includes one ormore instructions executable by one or more processors for implementingspecific logical functions or steps in the process. The program code maybe stored on any type of computer readable medium, for example, such asa storage device including a disk or hard drive.

In addition, each block may represent circuitry that is wired to performthe specific logical functions in the process. Alternativeimplementations are included within the scope of the exampleimplementations of the present application in which functions may beexecuted out of order from that shown or discussed, includingsubstantially concurrent or in reverse order, depending on thefunctionality involved, as would be understood by those reasonablyskilled in the art. In examples, a computing system may cause a systemto perform one or more blocks of method 800.

At block 802, method 800 includes receiving, from a radar sensor mountedon an autonomous vehicle, radar data representative of a physicalenvironment of the autonomous vehicle.

At block 804, method 800 includes based on the radar data, detecting atleast one scatterer present in the environment. The act of detecting theat least one scatterer based on the radar data may involve any one ormore of the same operations discussed above with regard to block 704 ofmethod 700.

At block 806, method 800 includes making a determination of a likelihoodthat the at least one scatterer is stationary with respect to theautonomous vehicle. The act of making the determination of thelikelihood that the at least one scatterer is stationary with respect tothe autonomous vehicle may involve any one or more of the sameoperations discussed above with regard to block 706 of method 700.

For example, the vehicle system may be configured to use a single frameof Doppler measurements estimated to be associated with the at least onescatterer to determine the likelihood that the at least one scatterer isstationary. In another example, the vehicle system may be configured touse two or more consecutive or non-consecutive frames (e.g., every n-thframe, where n is greater than one) to determine the likelihood that theat least one scatterer is stationary. In particular, if the at least onescatterer is stationary, Doppler measurements that are estimated to beassociated with the at least one scatterer may be the same between twoor more frames of the radar data.

At block 808, method 800 includes based on the determination being thatthe likelihood is at least equal to a predefined confidence threshold,determining an indication that the autonomous vehicle is stationary.

The act of determining that the likelihood is at least equal to thepredefined confidence threshold may be involve any one or more of thesame operations discussed above with regard to block 706 and/or block708 of method 700. For instance, using the radar data, and perhaps oneor more of the other considerations discussed above (e.g., image data,predefined map data), the vehicle system may determine with a thresholdhigh confidence (e.g., a confidence level above a predefined thresholdof 95 out of 100) that a given scatterer is stationary.

Further, in line with the discussion above, the vehicle system may beconfigured to consider differences between the Doppler measurements intwo or more consecutive or non-consecutive frames in order to determineinformation about the vehicle's movement. For example, if the vehicle isstationary, stationary scatterers may have the same (or approximatelythe same) Doppler measurements among at least one frame, such as (i) twoor more consecutive frames and/or (ii) every n-th frame, where n isgreater than one. In particular, the stationary scatterers may haveDoppler measurements of zero or approximately zero.

Therefore, when the vehicle system has determined that the likelihoodthat the at least one scatterer is stationary is at least equal to apredefined confidence threshold, the vehicle system may analyze Dopplermeasurements in multiple frames of the radar data to facilitatehigh-accuracy movement detection. For instance, if the vehicle isstationary, stationary scatterers may have a Doppler measurement of zeroor approximately zero, and thus, if the vehicle remains stationary overtwo or more frames, the Doppler measurement will remain at zero orapproximately zero, or may change to an extent that is below apredefined change threshold. In response to this occurring, the vehiclesystem may determine that the vehicle is stationary. On the other hand,if the vehicle moves even a small amount (e.g., approximately 1millimeter or less) over two or more frames, the vehicle system maydetect a change in various parameters associated with a stationaryscatterer, such as the magnitude and phase of scatterer-associatedclutter in the radar data. In some examples, the vehicle system may havea predefined change threshold that is set low (e.g., a change of 0.5) sothat when the vehicle moves a small amount, the vehicle system maydetect that the change exceeds the predefined change threshold, andthereby determine that the vehicle is not stationary.

The indication that the vehicle is stationary may take various forms. Insome implementations, the act of determining the indication that thevehicle is stationary may involve storing in memory an indication (e.g.,a flag) that the vehicle is stationary. Additionally or alternatively,the act may involve transmitting, to the movement module of the vehiclesystem or other component of the vehicle system, the indication that thevehicle is stationary.

Additionally or alternatively, the act may involve providing in theinterior of the vehicle a visual indication that the vehicle isstationary, such as an illuminating a light or providing text on adisplay screen. Additionally or alternatively, in some scenarios, suchas when the vehicle is stationary and in park, the act may involve thevehicle system performing other actions, such as unlocking the doors tothe vehicle or turning off/dimming the headlights of the vehicle. Otherexamples are possible as well.

These and other methods of determining the indication may occur after orin conjunction with the vehicle system determining that the vehicle isstationary based on the radar data.

In some implementations, the vehicle system may receive an indicationthat a velocity of the vehicle is below a predefined velocity threshold.In such implementations, the vehicle system may perform act ofdetermining the indication that the vehicle is stationary in response toreceiving the indication that the velocity of the vehicle is below thepredefined velocity threshold. For example, if the vehicle systemdetects that the velocity of the vehicle has dropped below a predefinedvelocity threshold of 0.2 m/s, the vehicle system may engage in one ormore of the operations discussed above to determine whether the vehicleis stationary or not.

At block 810, method 800 includes based on the determined indication,controlling movement of the autonomous vehicle.

In line with the discussion above, the act of controlling the movementof the vehicle may involve providing (e.g., transmitting) to themovement module of the vehicle an instruction that, upon receipt by themovement module, may cause the vehicle to remain stationary. Forexample, the instruction may take the form of an instruction for themovement module to deny receipt of signals from the IMU (e.g., from thegyroscope and/or from the accelerometer) or from another vehiclecomponent, which may result in the vehicle remaining stationary. Herein,the act of denying receipt of a signal may refer to various actions,such as (i) receiving but not reading the signal (or otherwise ignoringthe signal), (ii) preventing receipt of the signal, or (iii) receivingand reading the signal, but not using the signal to cause movement ofthe vehicle, among other possibilities.

In alternative implementations, however, the instruction may cause thevehicle system to engage in a process to begin moving the vehicle.

FIG. 9 is a schematic illustrating a conceptual partial view of anexample computer program product that includes a computer program forexecuting a computer process on a computing device, arranged accordingto at least some embodiments presented herein. In some embodiments, thedisclosed methods may be implemented as computer program instructionsencoded on a non-transitory computer-readable storage media in amachine-readable format, or on other non-transitory media or articles ofmanufacture.

In one embodiment, example computer program product 900 is providedusing signal bearing medium 902, which may include one or moreprogramming instructions 904 that, when executed by one or moreprocessors may provide functionality or portions of the functionalitydescribed above with respect to FIGS. 1-8. In some examples, the signalbearing medium 902 may encompass a non-transitory computer-readablemedium 906, such as, but not limited to, a hard disk drive, a CompactDisc (CD), a Digital Video Disk (DVD), a digital tape, memory, etc. Insome implementations, the signal bearing medium 902 may encompass acomputer recordable medium 908, such as, but not limited to, memory,read/write (R/W) CDs, R/W DVDs, etc. In some implementations, the signalbearing medium 902 may encompass a communications medium 910, such as,but not limited to, a digital and/or an analog communication medium(e.g., a fiber optic cable, a waveguide, a wired communications link, awireless communication link, etc.). Similarly, the signal bearing medium902 may correspond to a remote storage (e.g., a cloud). A computingsystem may share information with the cloud, including sending orreceiving information. For example, the computing system may receiveadditional information from the cloud to augment information obtainedfrom sensors or another entity. Thus, for example, the signal bearingmedium 902 may be conveyed by a wireless form of the communicationsmedium 910.

The one or more programming instructions 904 may be, for example,computer executable and/or logic implemented instructions. In someexamples, a computing device such as the computer system 112 of FIG. 1may be configured to provide various operations, functions, or actionsin response to the programming instructions 904 conveyed to the computersystem 112 by one or more of the computer readable medium 906, thecomputer recordable medium 908, and/or the communications medium 910.

The non-transitory computer readable medium could also be distributedamong multiple data storage elements and/or cloud (e.g., remotely),which could be remotely located from each other. The computing devicethat executes some or all of the stored instructions could be a vehicle,such as the vehicle 200 illustrated in FIG. 2. Alternatively, thecomputing device that executes some or all of the stored instructionscould be another computing device, such as a server.

The above detailed description describes various features and functionsof the disclosed systems, devices, and methods with reference to theaccompanying figures. While various aspects and embodiments have beendisclosed herein, other aspects and embodiments will be apparent. Thevarious aspects and embodiments disclosed herein are for purposes ofillustration and are not intended to be limiting, with the true scopebeing indicated by the following claims.

What is claimed is:
 1. A method performed by a computing systemconfigured to control an autonomous vehicle, the method comprising:while the autonomous vehicle is moving on a road, receiving, by thecomputing system, from at least one radar sensor, radar datarepresentative of a physical environment of the autonomous vehicle;based on the radar data, detecting, by the computing system, at leastone scatterer present in the environment; and based on a determinationof a likelihood that the at least one scatterer is stationary withrespect to the autonomous vehicle: calculating, by the computing system,a velocity of the autonomous vehicle using at least a portion of theradar data from the at least one radar sensor that represents the atleast one scatterer, and controlling, by the computing system, theautonomous vehicle based on the calculated velocity of the autonomousvehicle.
 2. The method of claim 1, wherein controlling the autonomousvehicle based on the calculated velocity of the autonomous vehiclecomprises causing a movement module of the computing system to adjust alinear velocity of the autonomous vehicle.
 3. The method of claim 1,wherein controlling the autonomous vehicle based on the calculatedvelocity of the autonomous vehicle comprises causing a movement moduleof the computing system to adjust a steering angle of the autonomousvehicle.
 4. The method of claim 1, wherein controlling the autonomousvehicle based on the calculated velocity of the autonomous vehiclecomprises providing, on a display mounted on an interior of theautonomous vehicle, an indication of the calculated velocity of theautonomous vehicle.
 5. The method of claim 1, wherein calculating thevelocity of the autonomous vehicle using the radar data from the atleast one radar sensor is performed in response to receiving one or moreof (i) an indication that the velocity of the autonomous vehicle isabove a predefined velocity threshold or (ii) an indication that asteering angle of the autonomous vehicle is above a predefined anglethreshold.
 6. The method of claim 1, wherein the at least one radarsensor includes a first radar sensor and a second radar sensor, andwherein calculating the velocity of the autonomous vehicle is based on afirst distance from the first sensor to a geometric centerline of theautonomous vehicle and a second distance from the second sensor to thegeometric centerline of the autonomous vehicle.
 7. The method of claim1, wherein the radar data includes first radar data from a first radarsensor of the at least one radar sensor and second radar data from asecond radar sensor of the at least one radar sensor, the method furthercomprising: before receiving the radar data, and while the autonomousvehicle is moving on the road, causing, by the computing system, thefirst and second radar sensors to acquire the first and second radardata, wherein calculating the velocity of the autonomous vehicle usingthe radar data from the at least one radar sensor comprises (i)calculating a first velocity based on the first radar data, (ii)calculating a second velocity based on the second radar data, and (iii)calculating a third velocity based on the first and second velocities,and wherein controlling the autonomous vehicle based on the calculatedvelocity of the autonomous vehicle comprises controlling the autonomousvehicle based on the calculated third velocity.
 8. The method of claim1, wherein detecting the at least one scatterer present in theenvironment comprises isolating the at least one scatterer from aremainder of the radar data.
 9. An article of manufacture including anon-transitory computer-readable medium having stored thereoninstructions that, when executed by a processor in a computing system,causes the computing system to perform operations comprising: while anautonomous vehicle is moving on a road, receiving, from at least oneradar sensor, radar data representative of a physical environment of theautonomous vehicle; based on the radar data, detecting at least onescatterer present in the environment; and based on a determination of alikelihood that the at least one scatterer is stationary with respect tothe autonomous vehicle: calculating a velocity of the autonomous vehicleusing at least a portion of the radar data from the at least one radarsensor that represents the at least one scatterer, and controlling theautonomous vehicle based on the calculated velocity of the autonomousvehicle.
 10. The article of manufacture of claim 9, wherein the radardata includes Doppler measurements captured in at least one frame,wherein the determination of the likelihood that the at least onescatterer is stationary with respect to the autonomous vehicle is basedon the Doppler measurements in a single frame of the at least one frame.11. The article of manufacture of claim 9, wherein the radar dataincludes Doppler measurements captured in two frames, wherein thedetermination of the likelihood that the at least one scatterer isstationary with respect to the autonomous vehicle is based on theDoppler measurements in the two frames, wherein the Doppler measurementscomprise one of amplitude and phase measurements.
 12. The article ofmanufacture of claim 11, wherein the Doppler measurements compriseDoppler measurements that are estimated to be associated with the atleast one scatterer, and wherein the determination of the likelihoodthat the at least one scatterer is stationary with respect to theautonomous vehicle comprises a determination of whether a change in theDoppler measurements between the two frames is less than a predefinedthreshold, the operations further comprising: in response to thedetermination being that the change in the Doppler measurements betweenthe two frames is less than the predefined threshold, determining thatthe likelihood is at least equal to a predefined confidence threshold,wherein calculating the velocity of the autonomous vehicle based on thedetermination of the likelihood that the at least one scatterer isstationary with respect to the autonomous vehicle comprises calculatingthe velocity of the autonomous vehicle based on the determination thatthe likelihood is at least equal to the predefined confidence threshold.13. The article of manufacture of claim 11, wherein the two frames aretwo consecutive frames.
 14. The article of manufacture of claim 9,wherein the determination of the likelihood that the at least onescatterer is stationary with respect to the autonomous vehicle is basedon image data received from at least one camera mounted on theautonomous vehicle.
 15. The article of manufacture of claim 9, whereinthe determination of the likelihood that the at least one scatterer isstationary with respect to the autonomous vehicle is based on opticaldata received from at least one light detection and ranging sensormounted on the autonomous vehicle.
 16. The article of manufacture ofclaim 9, wherein the determination of the likelihood that the at leastone scatterer is stationary with respect to the autonomous vehicle isbased on predefined map data accessible by the computing system, whereinthe predefined map data includes a known location of the at least onescatterer in the environment.
 17. A computing system configured tocontrol an autonomous vehicle, the computing system comprising: at leastone radar sensor; a processor configured to perform operationscomprising: while the autonomous vehicle is moving on a road, receiving,from the at least one radar sensor, radar data representative of aphysical environment of the autonomous vehicle; based on the radar data,detecting at least one scatterer present in the environment; and basedon a determination of a likelihood that the at least one scatterer isstationary with respect to the autonomous vehicle: calculating avelocity of the autonomous vehicle using at least a portion of the radardata from the at least one radar sensor that represents the at least onescatterer, and controlling the autonomous vehicle based on thecalculated velocity of the autonomous vehicle.
 18. The computing systemof claim 17, wherein the computing system further comprises a movementmodule, and wherein controlling the autonomous vehicle based on thecalculated velocity of the autonomous vehicle comprises causing themovement module to adjust a linear velocity of the autonomous vehicle.19. The computing system of claim 17, wherein the computing systemfurther comprises a movement module, and wherein controlling theautonomous vehicle based on the calculated velocity of the autonomousvehicle comprises causing the movement module to adjust a steering angleof the autonomous vehicle.
 20. The computing system of claim 17, whereincalculating the velocity of the autonomous vehicle using the radar datafrom the at least one radar sensor is performed in response to receivingan indication that a steering angle of the autonomous vehicle is above apredefined angle threshold.